package com.redepronik.negosys.rrhh.service;

import java.io.Serializable;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.redepronik.negosys.rrhh.dao.TipoClienteDao;
import com.redepronik.negosys.rrhh.entity.Tipocliente;

@Service
public class TipoClienteServiceImpl implements TipoClienteService, Serializable {

	private static final long serialVersionUID = 1L;

	@Autowired
	private TipoClienteDao tipoClienteDao;

	public String actualizar(Tipocliente tipoCliente) {
		if (!tipoClienteDao.comprobarIndices(Tipocliente.class, "nombre",
				tipoCliente.getNombre(),
				String.valueOf(tipoCliente.getTipoclienteid()))) {
			tipoClienteDao.actualizar(tipoCliente);
			return "SAVE";
		} else
			return "EXISTE";
	}

	public void eliminar(Tipocliente tipoCliente) {
		if (tipoCliente.getActivo())
			tipoCliente.setActivo(false);
		else
			tipoCliente.setActivo(true);
		tipoClienteDao.actualizar(tipoCliente);
	}

	public String insertar(Tipocliente tipoCliente) {
		if (!tipoClienteDao.comprobarIndices(Tipocliente.class, "nombre",
				tipoCliente.getNombre(),
				String.valueOf(tipoCliente.getTipoclienteid()))) {
			tipoCliente.setActivo(true);
			tipoClienteDao.insertar(tipoCliente);
			return "SAVE";
		} else
			return "EXISTE";
	}

	public List<Tipocliente> obtener(Boolean activo) {
		List<Tipocliente> list = tipoClienteDao.obtener(Tipocliente.class,
				"nombre", activo);
		return list;
	}

	public Tipocliente obtenerPorTipoclienteId(Integer tipoclienteid) {
		return tipoClienteDao.obtenerPorId(Tipocliente.class, tipoclienteid);
	}

}